#ifndef __CLASS_GRAPHE
#define __CLASS_GRAPHE

#include "Classe_point.h"
#include <vector>

//classe Graphe
class Graphe {

 private:
  std::vector<Point> ArrayPoint;
  int iNbPoint;
  double *point_dist;
  
  void calculSegments(void);

 public :
  Graphe(void);
  Graphe(const int N);
  Graphe(double const *const listX, double const *const listY, const int N);
  Graphe(Point const *const Plist, const int N);
  Graphe(const std::vector<Point> &Plist );
  Graphe(const Graphe & Poly);

  ~Graphe(void);

  void addPoints(Point const *const Plist, const int N);

  virtual void printPoints(void) const;
  Point getValue(int const idx) const;
  int getSize(void) const;
  virtual double getPerimetre(void) const;
  virtual double getAire(void) const;

};

#endif
